package cn.dkk.Spring.framework.beans.factory.support;


import cn.dkk.Spring.framework.beans.BeanDefinition;

/**
 * @author dkk
 * @date 2022/8/3
 * @desc 注册表接口,规范注册表的相关行为
 */
public interface BeanDefinitionRegistry {

    // 注册BeanDefinition对象到注册表中
    void registryBeanDefinition(String beanName, BeanDefinition beanDefinition);

    // 从注册表中删除指定名称的BeanDefinition对象
    void removeBeanDefinition(String beanName);

    // 根据名称从注册表中获取BeanDefinition对象
    BeanDefinition getBeanDefinition(String beanName);

    // 判断注册表中是否包含指定名称的beanDefinition对象
    boolean containBeanDefinition(String name);

    // 获取注册表中BeanDefinition对象的个数
    int getBeanDefinitionCount();

    // 获取beanName的数组
    String[] getBeanDefinitionName();
}
